<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <!-- 开发环境版本，包含了有帮助的命令行警告 -->
    <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
    <script src="https://cdn.bootcdn.net/ajax/libs/moment.js/2.29.4/moment.js"></script>
  </head>
  <body>
    <div id="app">
      <!-- View -->
      <!-- | 称之为管道符 -->
      <p>价格：{{ price | formatPrice }}</p>
      <p>time is ： {{ date | formatTime('YYYY-MM-DD') }}</p>
    </div>

    <script>
      // ViewModel
      new Vue({
        el: '#app',
        // model
        data: {
          price: 123.7523,
          date: new Date()
        },
        filters: {
          /**
           * 过滤器，第一次参数就是我们的要过滤的原始值
           */
          formatPrice(value) {
            return value.toFixed(2)
          },
          // formatString = 'YYYY-MM-DD HH:mm:ss' 右边的是默认值，只有上面没有传递参数的时候，它才起作用
          formatTime(value, formatString = 'YYYY-MM-DD HH:mm:ss') {
            // return moment(value).format('YYYY-MM-DD HH:mm:ss')

            return moment(value).format(formatString)
          }
        }
      })
    </script>
  </body>
</html>
